package com.fang.unittest;

import java.io.File;
import java.io.FilenameFilter;
import java.io.IOException;
import java.util.Scanner;

public class TestDriver {
    public static void main(String[] args) {
        test04();
    }
    private static void test04(){
        File file = new File("D:\\CloudMusic");
        File[]files = file.listFiles(new MyFiles());
        for (File ff:files
             ) {
            System.out.println(ff);
        }
    }
    private static void test03(){
        //在当前目录下，需要筛选指定文件，如MP3等音频、视频文件在当前目录下，
        // 需要筛选指定文件，如MP3等音频、视频文件
        File file = new File("D:\\CloudMusic");
        File[] files = file.listFiles(new FilenameFilter() {
            @Override
            public boolean accept(File dir, String name) {
                if(name.endsWith(".mp3")){
                    return true;
                }else {
                    return false;
                }
            }
        });
        for (File ff:files
             ) {
            System.out.println(ff);
        }
    }
    private static void test02(){
        //创建文件，如果该文件下父级目录存在，则直接创建，
        // 如果父级目录不存在，先创建父级目录，在创建文件
        File file = new File("c:\\java\\lib\\yyy.txt");
        try {
            file.createNewFile();
        } catch (IOException e) {
            File files = file.getParentFile();
            if(files.mkdirs()){
                try {
                    file.createNewFile();
                } catch (IOException ioException) {
                    System.out.println(ioException);
                }
            }
        }
    }
    private static void test01(){
        //输入一个路径名，遍历该文件下所有的文件信息，
        // 如果他是文件，则直接输出文件名，输入是文件夹，则输出文件夹下所有的文件信息
        Scanner sc = new Scanner(System.in);
        System.out.println("请输入一个文件路径名：");
        String strPath = sc.nextLine();
        File file = new File(strPath);
        File[] files = file.listFiles();
        if(file.exists() && !file.isHidden()){
            if(file.isDirectory()){
                System.out.println("该文件的绝对路径："+file.getAbsolutePath());
                for (File ff:files
                     ) {
                    System.out.println(ff.getName());
                }
            }else {
                System.out.println("该文件的绝对路径："+file.getAbsolutePath());
                for (File ff2:files
                     ) {
                    System.out.println(ff2.getName());
                }
            }
        }else {
            System.out.println("该目录不存在或者该文件是一个隐藏文件");
        }
    }
}
